compileflow是什么

compileflow是一个非常轻量、高性能、可集成、可扩展的流程引擎。

compileflow Process引擎是淘宝工作流TBBPM引擎之一,是专注于纯内存执行,无状态的流程引擎,通过将流程文件转换生成java代码编译执行,简洁高效。当前是阿里业务中台交易等多个核心系统的流程引擎。

compileflow能让开发人员通过流程编辑器设计自己的业务流程,将复杂的业务逻辑可视化,为业务设计人员与开发工程师架起了一座桥梁。

最新插件安装包下载

设计意图

  1. 希望为业务开发提供端至端,从设计至实现的业务流程解决方案。
  2. 提供多种流程引擎,实现从战略至商业能力,商业能力至业务流程,业务流程至系统,并最终实现业务的可视化全局架构。
  3. 设计高效的执行引擎,实现对服务的快速组合或扩展,提升idea(构思)至value(价值)的研发响应与交互速度。

特色

  1. 高性能:通过将流程文件转换生成java代码编译执行(爽啊,Activiti可没这功能),简洁高效。
  2. 丰富的应用场景:在阿里巴巴中台解决方案中广泛使用,支撑了导购、交易、履约、资金等多个业务场景。
  3. 可集成:轻量、简洁的设计使得可以极其方便地集成到各个解决方案和业务场景中。
  4. 完善的插件支持:流程设计目前有IntelliJ IDEA、Eclipse插件支持,可以在流程设计中实时动态生成java代码并预览,所见即所得。
  5. 支持流程设计图导出svg文件和单元测试代码。

IntelliJ IDEA安装插件

注意: compileflow仅支持JDK 1.8及以上版本。

以IntelliJ IDEA 2019版本为例,下载最新包到本地

微信图片_20210722112025.png

使用本地安装的方式安装,注意安装整个zip不用手动解压

微信图片_20210722113354.png

微信图片_20210722113123.png

微信图片_20210722113159.png

重启IntelliJ IDEA就会生效

使用教程

如果Maven项目,需引入依赖

<dependency>
<groupId>com.alibaba.compileflow</groupId>
<artifactId>compileflow</artifactId>
<version>1.0.0</version>
</dependency>

简单示例

新建BPM文件

  • 可在resources目录下创建,选中resources目录右键点击【Create New Bpm
    File】。例如我这边创建在resources的bpm目录下。

  • 输入文件名,例如:我这里的hello

  • 插件默认会生成了hello.bpm文件,是一个简单的开平方根demo流程,如下图

可视化编辑

  • 你可以选择下方【process-flow】进行可视化编辑,从左侧拖入节点到画布,或者选中节点拖动。

  • 双击空白处可编辑全局参数

  • 双击节点可以编辑节点参数(拖拽可调整节点位置)

Java代码预览

  • 可以选择下方【java code】进行Java代码预览。

创建测试代码

  • 选中文件右键,点击【Create New Bpm JUnit Test】可自动生成测试类

  • 到指定路径查看生成的测试类(修改入参数运行整个demo就完成了)